It is common for an electronic device (which includes most types of communication devices) to utilize a series of circuit cards to provide aspects of the functionality of the device. Generally, a feature of a circuit card is that it can be removed and replaced from the electronic device when the circuit card fails or needs to be upgraded. In many devices, the circuit card may be replaced in the field, in situ. Accordingly, the circuit card is often referred to as a field replaceable unit (FRU).
Circuit cards typically have hardware, software and firmware elements used in hardware circuits to provide their functionality. The hardware elements may comprise upgradeable components such as CPUs, memory modules and other upgradeable and replaceable devices. Firmware is typically stored in non-volatile electronic devices, such as EEPROMs, EPROMs, PLDs and PGAs, and volatile devices such as FPGAs and RAM, provide low level, executable code performing various calculations and operations on input and output signals depending on the program embodied in the firmware. Software, which is frequently stored non-volatile memory, but executes from volatile memory such as RAM, provides an operating code for a program which is executed on a CPU. Upgrades may be implemented to an element to correct existing operational errors or to improve its performance. For example, in hardware a “cut and strap” may be added to change an electrical connection on one of its circuits. In software, a new routine may be added providing a new feature for the program.
During the life of an electronic device, engineering change orders (ECOs) may be implemented in a circuit card to correct operational defects or implement manufacturing cost reductions. An operational defect may be a design defect in hardware circuit or software element implemented on the circuit board. A manufacturing cost reduction may be utilizing a different set of (less expensive) components to perform the identical functionality of an earlier design of a hardware circuit for the circuit card.
For repair purposes, it is useful to track the progression of ECOs during the life of a circuit card. This is frequently done by associating an ECO with each circuit card of the electronic device. Typically, each circuit card has a unique ECO number relating to the ECO. A component of each ECO number, such as a version number, is incremented as each engineering change is made to the circuit board. Typically, this may be done by keeping a hardcopy or a softcopy register of all implemented ECOs for a card at a repair station. Accordingly, when a circuit board is being repaired, the repair personnel may examine the log, get the ECO information and determine what repairs have been implemented on the card. Appropriate updates may be made to the circuit card, depending on the number of the ECO version of the card and the current number of the ECO version for cards being built. As the register is often associated with the station in a database maintained on a server or a computer, the tracking information associated with the card remains with the station, which causes potential loss of information if the register at the station is lost. However, when a circuit board is repaired, it will be appreciated that an ECO which was implemented to effect a manufacturing cost reduction does not necessarily have to be implemented on the circuit board. There is typically little cost benefit in retrofitting a board with a manufacturing cost reduction design.
It will be appreciated that the use of a simple ECO number with a version component to track both operational defects and manufacturing cost reduction implementations does not provide full information to the repair personnel. Further, with the known methods of tracking ECOs, it is difficult to determine whether an upgrade intended for a software/firmware/hardware element on the circuit card is compatible with the ECOs that have been implemented on the card. Accordingly, there is a need for an improved system and method for tracking types of ECOs related to a circuit board to provide improved tracking of compatibilities amongst the circuit boards.